<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.3"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SSDP Help: D:/doxy/PublicAPI/ATGeometrySet/XEllipse3d.h 源文件</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">SSDP Help<span id="projectnumber">&#160;2.04.01</span>
   </div>
   <div id="projectbrief">仅供测试</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.3 -->
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('../../',false,false,'search.php','搜索');
});
/* @license-end */
</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../dir_52a01df1794e5beec01860bdd05aea48.html">PublicAPI</a></li><li class="navelem"><a class="el" href="../../dir_3ae1ea863de6943fe2c5c18439480f66.html">ATGeometrySet</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle"><div class="title">XEllipse3d.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span> </div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span>BEGIN_ATEC_NAMESPACE</div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html">   11</a></span><span class="keyword">struct </span>ATGEOSET_EXPORT <a class="code hl_struct" href="../../d5/dee/struct_x_ellipse3d.html">XEllipse3d</a></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span>{</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span>    <a class="code hl_struct" href="../../d5/d5b/struct_x_point3d.html">XPoint3d</a> center;</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span>    XVec3d   vector0;</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span>    XVec3d   vector90;</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span>    <span class="keywordtype">double</span> start;</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span>    <span class="keywordtype">double</span> sweep;</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a3a1f9c152c3a7b6294323112c7287970">   31</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d5/dee/struct_x_ellipse3d.html">XEllipse3d</a> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a3a1f9c152c3a7b6294323112c7287970">FromFractionInterval</a></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span>    (</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span>        XEllipse3dCR parent,</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span>        <span class="keywordtype">double</span> startFraction,</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span>        <span class="keywordtype">double</span> endFraction</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span>    );</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a6f312a5d15c9b0554ff89a447ae24c84">   52</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d5/dee/struct_x_ellipse3d.html">XEllipse3d</a> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a6f312a5d15c9b0554ff89a447ae24c84">FromPoints</a>(XPoint3dCR center, XPoint3dCR pnt0, XPoint3dCR pnt90, <span class="keywordtype">double</span> theta0, <span class="keywordtype">double</span> sweep);</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a9a878846495e67d8d96d8fff88629e46">   68</a></span>    <span class="keyword">static</span> ValidatedXEllipse3d <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a9a878846495e67d8d96d8fff88629e46">FromStartTangentNormalRadiusSweep</a>(</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno">   69</span> </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno">   70</span>        XPoint3dCR pntA,</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno">   71</span>        XVec3dCR tangent,</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>        XVec3dCR planeNormal,</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span>        <span class="keywordtype">double</span> radius,</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span>        <span class="keywordtype">double</span> sweepRadians</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span>    );</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#ac5cb122320e39fb597ec8f0b4240457c">   89</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d5/dee/struct_x_ellipse3d.html">XEllipse3d</a> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#ac5cb122320e39fb597ec8f0b4240457c">FromPointsOnArc</a>(XPoint3dCR start, XPoint3dCR middle, XPoint3dCR end);</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#aea7129046871670a3deed4f84f7c454b">  103</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d5/dee/struct_x_ellipse3d.html">XEllipse3d</a> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#aea7129046871670a3deed4f84f7c454b">FromArcCenterStartEnd</a>(XPoint3dCR center, XPoint3dCR startPoint, XPoint3dCR endTarget);</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span> </div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#aa758a90c010030c57846096ce42dcc66">  117</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d5/dee/struct_x_ellipse3d.html">XEllipse3d</a> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#aa758a90c010030c57846096ce42dcc66">FromCenterNormalRadius</a>(XPoint3dCR center, XVec3dCR normal, <span class="keywordtype">double</span> radius);</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span> </div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#abd1c37c0055a51af11e025b14abcea49">  130</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d5/dee/struct_x_ellipse3d.html">XEllipse3d</a> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#abd1c37c0055a51af11e025b14abcea49">FromCenterRadiusXY</a>(XPoint3dCR center, <span class="keywordtype">double</span> radius);</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span> </div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a950c3233f24a2cd4834c86a34940a163">  142</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d5/dee/struct_x_ellipse3d.html">XEllipse3d</a> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a950c3233f24a2cd4834c86a34940a163">FromReversed</a>(XEllipse3dCR source);</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span> </div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#ab00c5861d14beb1daee01a080b531fa0">  158</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#ab00c5861d14beb1daee01a080b531fa0">InitFromPoints</a></div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span>    (</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span>        XPoint3dCR      center,</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span>        XPoint3dCR      pnt0,</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>        XPoint3dCR      pnt90,</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span>        <span class="keywordtype">double</span>          theta0,</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span>        <span class="keywordtype">double</span>          sweep</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span>    );</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span> </div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a5d4fcb483ee71671a5a809e584673d68">  179</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a5d4fcb483ee71671a5a809e584673d68">InitFromPointsOnArc</a></div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno">  180</span>    (</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span>        XPoint3dCR      start,</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span>        XPoint3dCR      middle,</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno">  183</span>        XPoint3dCR      end</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span>    );</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span> </div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#acdb17f7bbedc1262363e56c9ac3f7e50">  198</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#acdb17f7bbedc1262363e56c9ac3f7e50">InitFromArcCenterStartEnd</a></div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span>    (</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span>        XPoint3dCR      centerIN,</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>        XPoint3dCR      startIN,</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span>        XPoint3dCR      end</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>    );</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span> </div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a263bf328a7a7ee3c99a8d855d83fbd6c">  217</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a263bf328a7a7ee3c99a8d855d83fbd6c">SetStartEnd</a></div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno">  218</span>    (</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span>        XPoint3dCR      startPoint,</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span>        XPoint3dCR      endPoint,</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span>        <span class="keywordtype">bool</span>            ccw</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span>    );</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span> </div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a0ae6909e6b8262116e562b93631b7a74">  236</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a0ae6909e6b8262116e562b93631b7a74">InitFromCenterNormalRadius</a></div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>    (</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span>        XPoint3dCR      centerIN,</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span>        XVec3dCR      normal,</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span>        <span class="keywordtype">double</span>          radius</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno">  241</span>    );</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span> </div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a7cb9e3bcfea4660babcbc4cb0c75e245">  254</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a7cb9e3bcfea4660babcbc4cb0c75e245">Evaluate</a></div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span>    (</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span>        XPoint3dR       point,</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span>        <span class="keywordtype">double</span>          theta</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno">  259</span> </div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#aa2936f4a71388e1b08d06eacca8f3e84">  270</a></span>    <a class="code hl_struct" href="../../d5/d5b/struct_x_point3d.html">XPoint3d</a> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#aa2936f4a71388e1b08d06eacca8f3e84">RadiansToPoint</a>(<span class="keywordtype">double</span> theta) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno">  271</span> </div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a33499eb4bfd3ee12dc8d917073709120">  284</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a33499eb4bfd3ee12dc8d917073709120">Evaluate</a></div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno">  285</span>    (</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno">  286</span>        XPoint3dR       point,</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno">  287</span>        <span class="keywordtype">double</span>          xx,</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno">  288</span>        <span class="keywordtype">double</span>          yy</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno">  289</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span> </div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a72e0730c4b19732a490bd9b9ebc42b98">  302</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a72e0730c4b19732a490bd9b9ebc42b98">Evaluate</a></div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno">  303</span>    (</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span>        XPoint4dR       point,</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno">  305</span>        <span class="keywordtype">double</span>          theta</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno">  306</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno">  307</span> </div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a75e5170924f659b8b9b7078e5bbab027">  319</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a75e5170924f659b8b9b7078e5bbab027">EvaluateEndPoints</a></div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno">  320</span>    (</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno">  321</span>        XPoint3dR       startPoint,</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno">  322</span>        XPoint3dR       endPoint</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno">  323</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno">  324</span> </div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#ade7b20f5c1e56feeb61aad2a663903a7">  338</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#ade7b20f5c1e56feeb61aad2a663903a7">Evaluate</a></div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno">  339</span>    (</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno">  340</span>        XPoint3dR       pnt3dX,</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno">  341</span>        XVec3dR       dX,</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno">  342</span>        XVec3dR       ddX,</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno">  343</span>        <span class="keywordtype">double</span>          theta</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span> </div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a56d985f320665fb74fa3753625a0f29d">  357</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a56d985f320665fb74fa3753625a0f29d">FractionParameterToPoint</a></div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno">  358</span>    (</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno">  359</span>        XPoint3dR       pnt3dX,</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno">  360</span>        <span class="keywordtype">double</span>          fraction</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno">  361</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno">  362</span> </div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#affcab28f354a5da57c4eb56aa784abd6">  373</a></span>    <a class="code hl_struct" href="../../d5/d5b/struct_x_point3d.html">XPoint3d</a> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#affcab28f354a5da57c4eb56aa784abd6">FractionToPoint</a>(<span class="keywordtype">double</span> fraction) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno">  374</span> </div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#ae1889d17dd25d9b4f795f08f65939c52">  388</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#ae1889d17dd25d9b4f795f08f65939c52">FractionParameterToDerivatives</a></div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno">  389</span>    (</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno">  390</span>        XPoint3dR       pnt3dX,</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno">  391</span>        XVec3dR       dX,</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno">  392</span>        XVec3dR       ddX,</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno">  393</span>        <span class="keywordtype">double</span>          fraction</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno">  394</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno">  395</span> </div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a305f343013aeda0f06a193052fa9c4cf">  408</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a305f343013aeda0f06a193052fa9c4cf">Evaluate</a></div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno">  409</span>    (</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno">  410</span>        XPoint3dP       pnt3dX,</div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno">  411</span>        <span class="keywordtype">int</span>             numDerivative,</div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno">  412</span>        <span class="keywordtype">double</span>          theta</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno">  413</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno">  414</span> </div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#ab2dd8f0136e3419984ce28ca8c05db57">  425</a></span>    <span class="keywordtype">double</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#ab2dd8f0136e3419984ce28ca8c05db57">PointToAngle</a>(XPoint3dCR point) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno">  426</span> </div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a86d29d15a397d5e15202053e31e4470d">  440</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a86d29d15a397d5e15202053e31e4470d">ProjectPointToPlane</a></div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno">  441</span>    (</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno">  442</span>        XPoint3dR       xYZNear,</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno">  443</span>        <span class="keywordtype">double</span>          &amp;coff0,</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno">  444</span>        <span class="keywordtype">double</span>          &amp;coff90,</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno">  445</span>        XPoint3dCR      xYZ</div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno">  446</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno">  447</span> </div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#acc454602a21c1a64ffeaa85f637e7a7a">  458</a></span>    <span class="keywordtype">double</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#acc454602a21c1a64ffeaa85f637e7a7a">AngleToFraction</a>(<span class="keywordtype">double</span> angle) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno">  459</span> </div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a2eab7b09fb71c2489130931e642e43c7">  469</a></span>    <span class="keywordtype">double</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a2eab7b09fb71c2489130931e642e43c7">ArcLength</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno">  470</span> </div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a44bea0c7f0705585dbe61b30ba37760e">  481</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a44bea0c7f0705585dbe61b30ba37760e">GetRange</a>(XRange3dR range) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno">  482</span> </div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a106c65649dce70546dc6db3da5207ae9">  498</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a106c65649dce70546dc6db3da5207ae9">IntersectXYLine</a></div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno">  499</span>    (</div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno">  500</span>        XPoint3dP       cartesianPoints,</div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno">  501</span>        <span class="keywordtype">double</span>          *pLineParams,</div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno">  502</span>        XPoint3dP       ellipseCoffs,</div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno">  503</span>        <span class="keywordtype">double</span>          *pEllipseAngle,</div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno">  504</span>        XPoint3dCR      startPoint,</div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno">  505</span>        XPoint3dCR      endPoint</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno">  506</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno">  507</span> </div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#afa5bb4326f65f31a785129a9edd6a794">  517</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#afa5bb4326f65f31a785129a9edd6a794">IsCircular</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno">  518</span> </div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a53ce59c5ad84529b001103d84645b424">  529</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a53ce59c5ad84529b001103d84645b424">IsCircular</a>(<span class="keywordtype">double</span> &amp;radius) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno">  530</span> </div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a5862734b8a00166a4f951b8ecc6559af">  540</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a5862734b8a00166a4f951b8ecc6559af">IsCCWSweepXY</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno">  541</span> </div>
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a97a3c8aeb7fa1c16c8fdcbc5db88d0fc">  555</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a97a3c8aeb7fa1c16c8fdcbc5db88d0fc">IntersectSweptXSegment3d</a></div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno">  556</span>    (</div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno">  557</span>        XPoint3dP       pntArray,</div>
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno">  558</span>        XPoint3dP       ellipseParams,</div>
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno">  559</span>        <span class="keywordtype">double</span>          *pLineParams,</div>
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno">  560</span>        XSegment3dCR    segment</div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno">  561</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno">  562</span> </div>
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#ad255ff502c9c55e0a68179584e4f6354">  576</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#ad255ff502c9c55e0a68179584e4f6354">IntersectSweptXSegment3dBounded</a></div>
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno">  577</span>    (</div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno">  578</span>        XPoint3dP       pntArray,</div>
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno">  579</span>        XPoint3dP       ellipseParams,</div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno">  580</span>        <span class="keywordtype">double</span>          *pLineParams,</div>
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno">  581</span>        XSegment3dCR    segment</div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno">  582</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno">  583</span> </div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a0cd41ced7749877149fca95fe0fbaf31">  601</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a0cd41ced7749877149fca95fe0fbaf31">GetATFields3d</a></div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno">  602</span>    (</div>
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno">  603</span>        XPoint3dR       centerOUT,</div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno">  604</span>        <span class="keywordtype">double</span> *        pQuatWXYZ,</div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno">  605</span>        XVec3dR         directionX,</div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno">  606</span>        XVec3dR         directionY,</div>
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno">  607</span>        <span class="keywordtype">double</span>          &amp;rx,</div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno">  608</span>        <span class="keywordtype">double</span>          &amp;ry,</div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno">  609</span>        <span class="keywordtype">double</span>          &amp;startAngle,</div>
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno">  610</span>        <span class="keywordtype">double</span>          &amp;sweepAngle</div>
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno">  611</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno">  612</span> </div>
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#afea8259719d4e86cad17403803c74c79">  624</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#afea8259719d4e86cad17403803c74c79">SetSweep</a></div>
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno">  625</span>    (</div>
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno">  626</span>        <span class="keywordtype">double</span>          startAngle,</div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno">  627</span>        <span class="keywordtype">double</span>          sweepIN</div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno">  628</span>    );</div>
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno">  629</span> </div>
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#ae6490730aa530309d5575d8731908400">  641</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#ae6490730aa530309d5575d8731908400">GetSweep</a></div>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno">  642</span>    (</div>
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno">  643</span>        <span class="keywordtype">double</span>          &amp;startAngle,</div>
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno">  644</span>        <span class="keywordtype">double</span>          &amp;sweepAngle</div>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno">  645</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno">  646</span> </div>
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a60000d1d9d92b8647f984a35ff566a32">  656</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a60000d1d9d92b8647f984a35ff566a32">ComplementSweep</a>();</div>
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno">  657</span> </div>
<div class="line"><a id="l00673" name="l00673"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a8c230fd10a5b1f4fc2305c79f4de7239">  673</a></span>    <span class="keywordtype">int</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a8c230fd10a5b1f4fc2305c79f4de7239">IntersectXYXEllipse3dBounded</a></div>
<div class="line"><a id="l00674" name="l00674"></a><span class="lineno">  674</span>    (</div>
<div class="line"><a id="l00675" name="l00675"></a><span class="lineno">  675</span>        XPoint3dP       cartesianPoints,</div>
<div class="line"><a id="l00676" name="l00676"></a><span class="lineno">  676</span>        XPoint3dP       ellipse0Coffs,</div>
<div class="line"><a id="l00677" name="l00677"></a><span class="lineno">  677</span>        <span class="keywordtype">double</span>          *pEllipse0Angle,</div>
<div class="line"><a id="l00678" name="l00678"></a><span class="lineno">  678</span>        XPoint3dP       ellipse1Coffs,</div>
<div class="line"><a id="l00679" name="l00679"></a><span class="lineno">  679</span>        <span class="keywordtype">double</span>          *pEllipse1Angle,</div>
<div class="line"><a id="l00680" name="l00680"></a><span class="lineno">  680</span>        XEllipse3dCR    ellipse1</div>
<div class="line"><a id="l00681" name="l00681"></a><span class="lineno">  681</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00682" name="l00682"></a><span class="lineno">  682</span> </div>
<div class="line"><a id="l00693" name="l00693"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#ad883d7f8fba24d9d740cd6a77c3b34b0">  693</a></span>    <span class="keywordtype">double</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#ad883d7f8fba24d9d740cd6a77c3b34b0">FractionToAngle</a>(<span class="keywordtype">double</span> fraction) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00694" name="l00694"></a><span class="lineno">  694</span> </div>
<div class="line"><a id="l00708" name="l00708"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#ab307f8eac2b67cca0becd6838846be2b">  708</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#ab307f8eac2b67cca0becd6838846be2b">ClosestPointXYBounded</a></div>
<div class="line"><a id="l00709" name="l00709"></a><span class="lineno">  709</span>    (</div>
<div class="line"><a id="l00710" name="l00710"></a><span class="lineno">  710</span>        <span class="keywordtype">double</span>          &amp;minAngle,</div>
<div class="line"><a id="l00711" name="l00711"></a><span class="lineno">  711</span>        <span class="keywordtype">double</span>          &amp;minDistSquared,</div>
<div class="line"><a id="l00712" name="l00712"></a><span class="lineno">  712</span>        XPoint3dR       minPoint,</div>
<div class="line"><a id="l00713" name="l00713"></a><span class="lineno">  713</span>        XPoint3dCR      point</div>
<div class="line"><a id="l00714" name="l00714"></a><span class="lineno">  714</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00715" name="l00715"></a><span class="lineno">  715</span> </div>
<div class="line"><a id="l00725" name="l00725"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#aa501e1b746c9c22616506ffd7375839f">  725</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#aa501e1b746c9c22616506ffd7375839f">MakeFullSweep</a>();</div>
<div class="line"><a id="l00726" name="l00726"></a><span class="lineno">  726</span> </div>
<div class="line"><a id="l00741" name="l00741"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a7484c69dddd3d4d8a860e349eb6f2d1b">  741</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a7484c69dddd3d4d8a860e349eb6f2d1b">ClosestPointBoundedXY</a></div>
<div class="line"><a id="l00742" name="l00742"></a><span class="lineno">  742</span>    (</div>
<div class="line"><a id="l00743" name="l00743"></a><span class="lineno">  743</span>    XPoint3dR   closePoint,</div>
<div class="line"><a id="l00744" name="l00744"></a><span class="lineno">  744</span>    <span class="keywordtype">double</span>&amp;     closeParam,</div>
<div class="line"><a id="l00745" name="l00745"></a><span class="lineno">  745</span>    <span class="keywordtype">double</span>&amp;     distXY,</div>
<div class="line"><a id="l00746" name="l00746"></a><span class="lineno">  746</span>    XPoint3dCR  spacePoint,</div>
<div class="line"><a id="l00747" name="l00747"></a><span class="lineno">  747</span>    XMatrix4dCP worldToLocal</div>
<div class="line"><a id="l00748" name="l00748"></a><span class="lineno">  748</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00749" name="l00749"></a><span class="lineno">  749</span> </div>
<div class="line"><a id="l00766" name="l00766"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#ad22272d3fb015cdc27931f6846d23f0c">  766</a></span>    <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#ad22272d3fb015cdc27931f6846d23f0c">ClosestPointBoundedXY</a></div>
<div class="line"><a id="l00767" name="l00767"></a><span class="lineno">  767</span>    (</div>
<div class="line"><a id="l00768" name="l00768"></a><span class="lineno">  768</span>    XPoint3dR   closePoint,</div>
<div class="line"><a id="l00769" name="l00769"></a><span class="lineno">  769</span>    <span class="keywordtype">double</span>&amp;     closeParam,</div>
<div class="line"><a id="l00770" name="l00770"></a><span class="lineno">  770</span>    <span class="keywordtype">double</span>&amp;     distXY,</div>
<div class="line"><a id="l00771" name="l00771"></a><span class="lineno">  771</span>    XPoint3dCR  spacePoint,</div>
<div class="line"><a id="l00772" name="l00772"></a><span class="lineno">  772</span>    XMatrix4dCP worldToLocal,</div>
<div class="line"><a id="l00773" name="l00773"></a><span class="lineno">  773</span>    <span class="keywordtype">bool</span> extend0,</div>
<div class="line"><a id="l00774" name="l00774"></a><span class="lineno">  774</span>    <span class="keywordtype">bool</span> extend1</div>
<div class="line"><a id="l00775" name="l00775"></a><span class="lineno">  775</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00776" name="l00776"></a><span class="lineno">  776</span> </div>
<div class="line"><a id="l00786" name="l00786"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#aba6fd1a0e4f26f2da1f1572b4385c270">  786</a></span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#aba6fd1a0e4f26f2da1f1572b4385c270">GetLimits</a></div>
<div class="line"><a id="l00787" name="l00787"></a><span class="lineno">  787</span>    (</div>
<div class="line"><a id="l00788" name="l00788"></a><span class="lineno">  788</span>        <span class="keywordtype">double</span> &amp;startAngle,</div>
<div class="line"><a id="l00789" name="l00789"></a><span class="lineno">  789</span>        <span class="keywordtype">double</span> &amp;endAngle</div>
<div class="line"><a id="l00790" name="l00790"></a><span class="lineno">  790</span>    ) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00791" name="l00791"></a><span class="lineno">  791</span> </div>
<div class="line"><a id="l00805" name="l00805"></a><span class="lineno"><a class="line" href="../../d5/dee/struct_x_ellipse3d.html#a8369898f4ba2b8a327332ec89a3e0f16">  805</a></span>    <span class="keyword">static</span> <a class="code hl_struct" href="../../d5/dee/struct_x_ellipse3d.html">XEllipse3d</a> <a class="code hl_function" href="../../d5/dee/struct_x_ellipse3d.html#a8369898f4ba2b8a327332ec89a3e0f16">FromVectors</a></div>
<div class="line"><a id="l00806" name="l00806"></a><span class="lineno">  806</span>    (</div>
<div class="line"><a id="l00807" name="l00807"></a><span class="lineno">  807</span>        XPoint3dCR center,</div>
<div class="line"><a id="l00808" name="l00808"></a><span class="lineno">  808</span>        XVec3dCR vector0,</div>
<div class="line"><a id="l00809" name="l00809"></a><span class="lineno">  809</span>        XVec3dCR vector90,</div>
<div class="line"><a id="l00810" name="l00810"></a><span class="lineno">  810</span>        <span class="keywordtype">double</span> theta0,</div>
<div class="line"><a id="l00811" name="l00811"></a><span class="lineno">  811</span>        <span class="keywordtype">double</span> sweep</div>
<div class="line"><a id="l00812" name="l00812"></a><span class="lineno">  812</span>    );</div>
<div class="line"><a id="l00813" name="l00813"></a><span class="lineno">  813</span>};</div>
<div class="line"><a id="l00814" name="l00814"></a><span class="lineno">  814</span> </div>
<div class="line"><a id="l00815" name="l00815"></a><span class="lineno">  815</span>END_ATEC_NAMESPACE</div>
<div class="line"><a id="l00816" name="l00816"></a><span class="lineno">  816</span> </div>
<div class="ttc" id="astruct_x_ellipse3d_html"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html">XEllipse3d</a></div><div class="ttdoc">椭圆弧</div><div class="ttdef"><b>Definition:</b> XEllipse3d.h:12</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a0ae6909e6b8262116e562b93631b7a74"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a0ae6909e6b8262116e562b93631b7a74">XEllipse3d::InitFromCenterNormalRadius</a></div><div class="ttdeci">void InitFromCenterNormalRadius(XPoint3dCR centerIN, XVec3dCR normal, double radius)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a0cd41ced7749877149fca95fe0fbaf31"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a0cd41ced7749877149fca95fe0fbaf31">XEllipse3d::GetATFields3d</a></div><div class="ttdeci">void GetATFields3d(XPoint3dR centerOUT, double *pQuatWXYZ, XVec3dR directionX, XVec3dR directionY, double &amp;rx, double &amp;ry, double &amp;startAngle, double &amp;sweepAngle) const</div><div class="ttdoc">转换为BR类型3D元素</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a106c65649dce70546dc6db3da5207ae9"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a106c65649dce70546dc6db3da5207ae9">XEllipse3d::IntersectXYLine</a></div><div class="ttdeci">int IntersectXYLine(XPoint3dP cartesianPoints, double *pLineParams, XPoint3dP ellipseCoffs, double *pEllipseAngle, XPoint3dCR startPoint, XPoint3dCR endPoint) const</div><div class="ttdoc">XY方向上与直线相交</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a263bf328a7a7ee3c99a8d855d83fbd6c"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a263bf328a7a7ee3c99a8d855d83fbd6c">XEllipse3d::SetStartEnd</a></div><div class="ttdeci">bool SetStartEnd(XPoint3dCR startPoint, XPoint3dCR endPoint, bool ccw)</div><div class="ttdoc">设置起始点</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a2eab7b09fb71c2489130931e642e43c7"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a2eab7b09fb71c2489130931e642e43c7">XEllipse3d::ArcLength</a></div><div class="ttdeci">double ArcLength() const</div><div class="ttdoc">弧长</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a305f343013aeda0f06a193052fa9c4cf"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a305f343013aeda0f06a193052fa9c4cf">XEllipse3d::Evaluate</a></div><div class="ttdeci">void Evaluate(XPoint3dP pnt3dX, int numDerivative, double theta) const</div><div class="ttdoc">代入参数</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a33499eb4bfd3ee12dc8d917073709120"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a33499eb4bfd3ee12dc8d917073709120">XEllipse3d::Evaluate</a></div><div class="ttdeci">void Evaluate(XPoint3dR point, double xx, double yy) const</div><div class="ttdoc">代入参数</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a3a1f9c152c3a7b6294323112c7287970"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a3a1f9c152c3a7b6294323112c7287970">XEllipse3d::FromFractionInterval</a></div><div class="ttdeci">static XEllipse3d FromFractionInterval(XEllipse3dCR parent, double startFraction, double endFraction)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a44bea0c7f0705585dbe61b30ba37760e"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a44bea0c7f0705585dbe61b30ba37760e">XEllipse3d::GetRange</a></div><div class="ttdeci">void GetRange(XRange3dR range) const</div><div class="ttdoc">获取范围</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a53ce59c5ad84529b001103d84645b424"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a53ce59c5ad84529b001103d84645b424">XEllipse3d::IsCircular</a></div><div class="ttdeci">bool IsCircular(double &amp;radius) const</div><div class="ttdoc">是否完整</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a56d985f320665fb74fa3753625a0f29d"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a56d985f320665fb74fa3753625a0f29d">XEllipse3d::FractionParameterToPoint</a></div><div class="ttdeci">void FractionParameterToPoint(XPoint3dR pnt3dX, double fraction) const</div><div class="ttdoc">代入参数</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a5862734b8a00166a4f951b8ecc6559af"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a5862734b8a00166a4f951b8ecc6559af">XEllipse3d::IsCCWSweepXY</a></div><div class="ttdeci">bool IsCCWSweepXY() const</div><div class="ttdoc">是否逆时针</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a5d4fcb483ee71671a5a809e584673d68"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a5d4fcb483ee71671a5a809e584673d68">XEllipse3d::InitFromPointsOnArc</a></div><div class="ttdeci">bool InitFromPointsOnArc(XPoint3dCR start, XPoint3dCR middle, XPoint3dCR end)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a60000d1d9d92b8647f984a35ff566a32"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a60000d1d9d92b8647f984a35ff566a32">XEllipse3d::ComplementSweep</a></div><div class="ttdeci">void ComplementSweep()</div><div class="ttdoc">补全扫掠角</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a6f312a5d15c9b0554ff89a447ae24c84"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a6f312a5d15c9b0554ff89a447ae24c84">XEllipse3d::FromPoints</a></div><div class="ttdeci">static XEllipse3d FromPoints(XPoint3dCR center, XPoint3dCR pnt0, XPoint3dCR pnt90, double theta0, double sweep)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a72e0730c4b19732a490bd9b9ebc42b98"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a72e0730c4b19732a490bd9b9ebc42b98">XEllipse3d::Evaluate</a></div><div class="ttdeci">void Evaluate(XPoint4dR point, double theta) const</div><div class="ttdoc">代入参数</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a7484c69dddd3d4d8a860e349eb6f2d1b"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a7484c69dddd3d4d8a860e349eb6f2d1b">XEllipse3d::ClosestPointBoundedXY</a></div><div class="ttdeci">bool ClosestPointBoundedXY(XPoint3dR closePoint, double &amp;closeParam, double &amp;distXY, XPoint3dCR spacePoint, XMatrix4dCP worldToLocal) const</div><div class="ttdoc">获取最近点</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a75e5170924f659b8b9b7078e5bbab027"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a75e5170924f659b8b9b7078e5bbab027">XEllipse3d::EvaluateEndPoints</a></div><div class="ttdeci">void EvaluateEndPoints(XPoint3dR startPoint, XPoint3dR endPoint) const</div><div class="ttdoc">获取起止点</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a7cb9e3bcfea4660babcbc4cb0c75e245"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a7cb9e3bcfea4660babcbc4cb0c75e245">XEllipse3d::Evaluate</a></div><div class="ttdeci">void Evaluate(XPoint3dR point, double theta) const</div><div class="ttdoc">代入参数</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a8369898f4ba2b8a327332ec89a3e0f16"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a8369898f4ba2b8a327332ec89a3e0f16">XEllipse3d::FromVectors</a></div><div class="ttdeci">static XEllipse3d FromVectors(XPoint3dCR center, XVec3dCR vector0, XVec3dCR vector90, double theta0, double sweep)</div><div class="ttdoc">给定0°和90°的向量创建椭圆弧</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a86d29d15a397d5e15202053e31e4470d"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a86d29d15a397d5e15202053e31e4470d">XEllipse3d::ProjectPointToPlane</a></div><div class="ttdeci">bool ProjectPointToPlane(XPoint3dR xYZNear, double &amp;coff0, double &amp;coff90, XPoint3dCR xYZ) const</div><div class="ttdoc">投影点</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a8c230fd10a5b1f4fc2305c79f4de7239"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a8c230fd10a5b1f4fc2305c79f4de7239">XEllipse3d::IntersectXYXEllipse3dBounded</a></div><div class="ttdeci">int IntersectXYXEllipse3dBounded(XPoint3dP cartesianPoints, XPoint3dP ellipse0Coffs, double *pEllipse0Angle, XPoint3dP ellipse1Coffs, double *pEllipse1Angle, XEllipse3dCR ellipse1) const</div><div class="ttdoc">与弧相交</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a950c3233f24a2cd4834c86a34940a163"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a950c3233f24a2cd4834c86a34940a163">XEllipse3d::FromReversed</a></div><div class="ttdeci">static XEllipse3d FromReversed(XEllipse3dCR source)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a97a3c8aeb7fa1c16c8fdcbc5db88d0fc"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a97a3c8aeb7fa1c16c8fdcbc5db88d0fc">XEllipse3d::IntersectSweptXSegment3d</a></div><div class="ttdeci">int IntersectSweptXSegment3d(XPoint3dP pntArray, XPoint3dP ellipseParams, double *pLineParams, XSegment3dCR segment) const</div><div class="ttdoc">与线段相交</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_a9a878846495e67d8d96d8fff88629e46"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#a9a878846495e67d8d96d8fff88629e46">XEllipse3d::FromStartTangentNormalRadiusSweep</a></div><div class="ttdeci">static ValidatedXEllipse3d FromStartTangentNormalRadiusSweep(XPoint3dCR pntA, XVec3dCR tangent, XVec3dCR planeNormal, double radius, double sweepRadians)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_aa2936f4a71388e1b08d06eacca8f3e84"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#aa2936f4a71388e1b08d06eacca8f3e84">XEllipse3d::RadiansToPoint</a></div><div class="ttdeci">XPoint3d RadiansToPoint(double theta) const</div><div class="ttdoc">角到点</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_aa501e1b746c9c22616506ffd7375839f"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#aa501e1b746c9c22616506ffd7375839f">XEllipse3d::MakeFullSweep</a></div><div class="ttdeci">void MakeFullSweep()</div><div class="ttdoc">完全扫掠</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_aa758a90c010030c57846096ce42dcc66"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#aa758a90c010030c57846096ce42dcc66">XEllipse3d::FromCenterNormalRadius</a></div><div class="ttdeci">static XEllipse3d FromCenterNormalRadius(XPoint3dCR center, XVec3dCR normal, double radius)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_ab00c5861d14beb1daee01a080b531fa0"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#ab00c5861d14beb1daee01a080b531fa0">XEllipse3d::InitFromPoints</a></div><div class="ttdeci">void InitFromPoints(XPoint3dCR center, XPoint3dCR pnt0, XPoint3dCR pnt90, double theta0, double sweep)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_ab2dd8f0136e3419984ce28ca8c05db57"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#ab2dd8f0136e3419984ce28ca8c05db57">XEllipse3d::PointToAngle</a></div><div class="ttdeci">double PointToAngle(XPoint3dCR point) const</div><div class="ttdoc">点到角</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_ab307f8eac2b67cca0becd6838846be2b"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#ab307f8eac2b67cca0becd6838846be2b">XEllipse3d::ClosestPointXYBounded</a></div><div class="ttdeci">bool ClosestPointXYBounded(double &amp;minAngle, double &amp;minDistSquared, XPoint3dR minPoint, XPoint3dCR point) const</div><div class="ttdoc">获取最近点</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_aba6fd1a0e4f26f2da1f1572b4385c270"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#aba6fd1a0e4f26f2da1f1572b4385c270">XEllipse3d::GetLimits</a></div><div class="ttdeci">void GetLimits(double &amp;startAngle, double &amp;endAngle) const</div><div class="ttdoc">获取椭圆弧的起始与终止角度</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_abd1c37c0055a51af11e025b14abcea49"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#abd1c37c0055a51af11e025b14abcea49">XEllipse3d::FromCenterRadiusXY</a></div><div class="ttdeci">static XEllipse3d FromCenterRadiusXY(XPoint3dCR center, double radius)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_ac5cb122320e39fb597ec8f0b4240457c"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#ac5cb122320e39fb597ec8f0b4240457c">XEllipse3d::FromPointsOnArc</a></div><div class="ttdeci">static XEllipse3d FromPointsOnArc(XPoint3dCR start, XPoint3dCR middle, XPoint3dCR end)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_acc454602a21c1a64ffeaa85f637e7a7a"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#acc454602a21c1a64ffeaa85f637e7a7a">XEllipse3d::AngleToFraction</a></div><div class="ttdeci">double AngleToFraction(double angle) const</div><div class="ttdoc">角到比例</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_acdb17f7bbedc1262363e56c9ac3f7e50"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#acdb17f7bbedc1262363e56c9ac3f7e50">XEllipse3d::InitFromArcCenterStartEnd</a></div><div class="ttdeci">bool InitFromArcCenterStartEnd(XPoint3dCR centerIN, XPoint3dCR startIN, XPoint3dCR end)</div><div class="ttdoc">初始化数据</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_ad22272d3fb015cdc27931f6846d23f0c"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#ad22272d3fb015cdc27931f6846d23f0c">XEllipse3d::ClosestPointBoundedXY</a></div><div class="ttdeci">bool ClosestPointBoundedXY(XPoint3dR closePoint, double &amp;closeParam, double &amp;distXY, XPoint3dCR spacePoint, XMatrix4dCP worldToLocal, bool extend0, bool extend1) const</div><div class="ttdoc">获取最近点</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_ad255ff502c9c55e0a68179584e4f6354"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#ad255ff502c9c55e0a68179584e4f6354">XEllipse3d::IntersectSweptXSegment3dBounded</a></div><div class="ttdeci">int IntersectSweptXSegment3dBounded(XPoint3dP pntArray, XPoint3dP ellipseParams, double *pLineParams, XSegment3dCR segment) const</div><div class="ttdoc">与线段相交</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_ad883d7f8fba24d9d740cd6a77c3b34b0"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#ad883d7f8fba24d9d740cd6a77c3b34b0">XEllipse3d::FractionToAngle</a></div><div class="ttdeci">double FractionToAngle(double fraction) const</div><div class="ttdoc">比例到角</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_ade7b20f5c1e56feeb61aad2a663903a7"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#ade7b20f5c1e56feeb61aad2a663903a7">XEllipse3d::Evaluate</a></div><div class="ttdeci">void Evaluate(XPoint3dR pnt3dX, XVec3dR dX, XVec3dR ddX, double theta) const</div><div class="ttdoc">代入参数</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_ae1889d17dd25d9b4f795f08f65939c52"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#ae1889d17dd25d9b4f795f08f65939c52">XEllipse3d::FractionParameterToDerivatives</a></div><div class="ttdeci">void FractionParameterToDerivatives(XPoint3dR pnt3dX, XVec3dR dX, XVec3dR ddX, double fraction) const</div><div class="ttdoc">比例到导数</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_ae6490730aa530309d5575d8731908400"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#ae6490730aa530309d5575d8731908400">XEllipse3d::GetSweep</a></div><div class="ttdeci">void GetSweep(double &amp;startAngle, double &amp;sweepAngle) const</div><div class="ttdoc">获取扫掠角</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_aea7129046871670a3deed4f84f7c454b"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#aea7129046871670a3deed4f84f7c454b">XEllipse3d::FromArcCenterStartEnd</a></div><div class="ttdeci">static XEllipse3d FromArcCenterStartEnd(XPoint3dCR center, XPoint3dCR startPoint, XPoint3dCR endTarget)</div><div class="ttdoc">创建函数</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_afa5bb4326f65f31a785129a9edd6a794"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#afa5bb4326f65f31a785129a9edd6a794">XEllipse3d::IsCircular</a></div><div class="ttdeci">bool IsCircular() const</div><div class="ttdoc">是否完整</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_afea8259719d4e86cad17403803c74c79"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#afea8259719d4e86cad17403803c74c79">XEllipse3d::SetSweep</a></div><div class="ttdeci">void SetSweep(double startAngle, double sweepIN)</div><div class="ttdoc">设置扫掠角</div></div>
<div class="ttc" id="astruct_x_ellipse3d_html_affcab28f354a5da57c4eb56aa784abd6"><div class="ttname"><a href="../../d5/dee/struct_x_ellipse3d.html#affcab28f354a5da57c4eb56aa784abd6">XEllipse3d::FractionToPoint</a></div><div class="ttdeci">XPoint3d FractionToPoint(double fraction) const</div><div class="ttdoc">比例到点</div></div>
<div class="ttc" id="astruct_x_point3d_html"><div class="ttname"><a href="../../d5/d5b/struct_x_point3d.html">XPoint3d</a></div><div class="ttdoc">3D空间点类</div><div class="ttdef"><b>Definition:</b> XPoint3d.h:12</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
</small></address>
</body>
</html>
